Skip to content

Also recognize .h++ as a C++ header extension#9346

Open
anshul-garg27 wants to merge 1 commit intowarpdotdev:masterfrom
anshul-garg27:fix/cpp-header-extensions
Open

Also recognize .h++ as a C++ header extension#9346
anshul-garg27 wants to merge 1 commit intowarpdotdev:masterfrom
anshul-garg27:fix/cpp-header-extensions

Conversation

@anshul-garg27
Copy link
Copy Markdown

@anshul-garg27 anshul-garg27 commented Apr 29, 2026

Rebased on top of #9388 (which landed `hpp`, `hxx`, and the uppercase `H` form, per @bnavetta's request).

This keeps just the one delta from the original PR: adding `h++` to the match arm so the case list covers the full set of C++ header conventions, and extending the existing `cpp_header_extensions_resolve_to_cpp_language` test to include `header.h++`.

`h++` is the rarer of the C++ header conventions but it's part of the canonical set (used in some older codebases and called out in the GNU coding style guidance for C++).

Testing

  • Existing `cpp_header_extensions_resolve_to_cpp_language` test extended to include `header.h++`.
  • `cargo fmt -p languages -- --check` passes.
  • `cargo test -p languages` doesn't run locally for me (Metal toolchain unavailable on this machine — same situation as Expand ~ in warp://action/new_tab?path= URLs #9277), but CI should cover it.

Server API

No server changes.

Agent Mode

Not applicable.

Changelog Entries

`CHANGELOG-IMPROVEMENT`: Recognize `.h++` files as C++ headers (in addition to `.hpp`, `.hxx`, and `.H` from #9388).

@cla-bot cla-bot Bot added the cla-signed label Apr 29, 2026
@oz-for-oss
Copy link
Copy Markdown

oz-for-oss Bot commented Apr 29, 2026

@anshul-garg27

I'm starting a first review of this pull request.

You can follow along in the session on Warp.

I approved this pull request. No matching stakeholder was found for the changed files, so no human reviewers were requested.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

I approved this pull request and requested human review from: @vorporeal, @alokedesai, @zachbai.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR maps .hpp, .hxx, and .h++ file extensions to the existing C++ language support and adds a unit test covering the new extensions.

Concerns

  • No blocking correctness, security, error handling, or performance concerns found in the changed lines.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR maps .hpp, .hxx, and .h++ filename extensions to the existing C++ language support and adds a unit test covering those new header extensions.

Concerns

  • No blocking correctness, security, error-handling, or performance concerns found in the changed lines.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@anshul-garg27
Copy link
Copy Markdown
Author

Heads-up — issue #9387 was filed earlier today for this exact bug, and #9388 covers a partly-overlapping set: hpp | hxx | H (uppercase .H for case-sensitive filesystems). This PR's set is hpp | hxx | h++. The two are easy to combine into hpp | hxx | h++ | H if helpful — happy to amend here, or fine to defer .H to a follow-up if the maintainers prefer keeping this PR as-is.

If this lands first it will close #9387 too (linked via the new "Fixes #9387" trailer once added). Pushed an updated body with the issue link.

@bnavetta
Copy link
Copy Markdown
Contributor

Hi, I'd missed this one. Since #9388 merged, could you rebase on top of that with the unified set of extensions? I'll approve+merge once CI passes. Thanks!

Rebased on top of warpdotdev#9388 (which added `hpp`, `hxx`, and the uppercase
`H` form). This adds the rarer `h++` extension as well so the case
list covers the full set of C++ header conventions, and extends the
existing `cpp_header_extensions_resolve_to_cpp_language` test to
include `header.h++`.
@anshul-garg27 anshul-garg27 force-pushed the fix/cpp-header-extensions branch from 8155450 to 73e17fa Compare April 29, 2026 14:21
@anshul-garg27 anshul-garg27 changed the title Recognize .hpp/.hxx/.h++ as C++ headers Also recognize .h++ as a C++ header extension Apr 29, 2026
@oz-for-oss
Copy link
Copy Markdown

oz-for-oss Bot commented Apr 29, 2026

@anshul-garg27

I'm checking this implementation PR for association with a likely matching ready issue.

Powered by Oz

@anshul-garg27
Copy link
Copy Markdown
Author

@bnavetta thanks for the heads-up! Rebased on top of #9388. The PR is now scoped down to just adding h++ to the unified match arm, with the existing test extended to cover header.h++ alongside .hpp/.hxx/.H. Should be good to go once CI passes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants